package com.newtouch.xcd.common.constants;

/**
 * redisKey字典类
 */
public interface RedisKeyDict {

    /**
     * 缓存(本系统)
     */
    enum XCD implements BaseEnum {

        /**
         * Sequence
         */
        SEQUENCE("XCD:SEQUENCE:", "Sequence"),
        ;
        public String code;
        public String message;

        private XCD(String code, String message) {
            this.code = code;
            this.message = message;
        }

        public String getCode() {
            return code;
        }

        public String getMessage() {
            return message;
        }
    }

    /**
     * 缓存(本系统)
     */
    enum XcdPms implements BaseEnum {

        /**
         * 登陆验证码KEY
         */
        XCD_PMS_SMS_CODE("XCD:PMS:SMS_CODE:", "登陆验证码KEY"),
        /**
         * 登陆验证码放重KEY
         */
        XCD_PMS_SMS_RE_POST("XCD:PMS:SMS_CODE_RE_POST:", "防重登陆验证码KEY"),
        /**
         * 发送登陆验证码分段锁保证线程安全
         */
        XCD_PMS_SMS_CODE_SEGMENT("XCD:PMS:SMS_CODE_SEGMENT:", "发送登陆验证码分段锁保证线程安全"),
        /**
         * 登陆验证码放重KEY
         */
        XCD_PMS_SMS_RE_AUTH("XCD:PMS:SMS_CODE_RE_AUTH:", "redis防暴力认证"),

        /**
         * 预约信息填写防重提交
         */
        XCD_PMS_FUND_PRODUCT_SEGMENT("XCD:PMS:FUND_PRODUCT_SEGMENT:", "预约信息填写防重提交"),

        ;
        public String code;
        public String message;

        private XcdPms(String code, String message) {
            this.code = code;
            this.message = message;
        }

        public String getCode() {
            return code;
        }

        public String getMessage() {
            return message;
        }
    }

    /**
     * 缓存(CRM系统缓存)CRM
     */
    enum CrmCache implements BaseEnum {
        
        /**
         * 登陆验证码KEY
         */
        MY_FAMILY_TRUST_TRADE_DETAIL("CRM:MY_FAMILY_TRUST:TRADE_DETAIL:", "查询我的家族信托-交易明细"),
        MY_FINANCIAL_PRODUCTS_TRADE_DETAIL("CRM:MY_FINANCIAL_PRODUCTS:TRADE_DETAIL:", "查询我的理财产品"),

        ;
        public String code;
        public String message;

        private CrmCache(String code, String message) {
            this.code = code;
            this.message = message;
        }

        public String getCode() {
            return code;
        }

        public String getMessage() {
            return message;
        }
    }

    /**
     * 我的预约缓存
     */
    enum XcdProductFund implements BaseEnum {

        /**
         * 我的预约
         */
        MY_FUND_PRODUCT_APPOINTMENT("XCD:FUND_PRODUCT:", "我的预约-基金产品"),

        ;
        public String code;
        public String message;

        private XcdProductFund(String code, String message) {
            this.code = code;
            this.message = message;
        }

        public String getCode() {
            return code;
        }

        public String getMessage() {
            return message;
        }
    }
}
